module.exports = (app) => {
  const { dict } = app.config
  const { Schema, model } = app.jax.mongoose

  const adminRoleSchema = new Schema({
    roleName: String, // 角色名称
    systemType: String, // 角色类型
    isAdmin: { type: Boolean, default: false }, // 管理员角色(管理员拥有当前角色最高权限)
    menuIds: [Schema.Types.ObjectId], // 菜单ID（非管理员需要控制菜单）
    halfMenuIds: [Schema.Types.ObjectId], // 半选菜单ID（非管理员需要控制菜单）
    sourceId: { type: Number, default: 0 }, // 来源ID(集团、项目、商家)
    sourceType: String, // 数据来源(请看字典)
    systemType: String, // 所属系统(请看字典)
  })

  // 位置描述
  adminRoleSchema.virtual('systemTypeDesc').get(function () {
    return dict.systemTypeValues[this.systemType] || '未知'
  })

  const AdminRoleModel = model('AdminRole', adminRoleSchema, null, null, {
    id: 'roleId',
  })

  return AdminRoleModel
}
